using System;
using Sinacor.Infra.Common;
using System.Collections.Generic;
using Sinacor.Servico.Bovespa.Corretagem.BusinessEntity;
using Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response;

namespace Sinacor.Servico.Bovespa.Corretagem.Service.ServiceImplementation.Translator
{
    /// <summary>
    /// Classe tradutora entre objetos Faixa e Faixa
    /// </summary>
    public class FaixaToFaixaResponse : BaseTranslator<Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response.FaixaResponse, Sinacor.Servico.Bovespa.Corretagem.BusinessEntity.Faixa, List<Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response.FaixaResponse>, List<Sinacor.Servico.Bovespa.Corretagem.BusinessEntity.Faixa>>
    {
        public override Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response.FaixaResponse Translate(Sinacor.Servico.Bovespa.Corretagem.BusinessEntity.Faixa from)
        {
            Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response.FaixaResponse to = new Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response.FaixaResponse();
            to.CodigoTabelaPadrao = from.CodigoTabelaPadrao;
            to.Sequencia = from.Sequencia;
            to.QuantidadeValorFinal = from.QuantidadeValorFinal;
            to.QuantidadeValorInicial = from.QuantidadeValorInicial;
            to.Aliquota = from.Aliquota;
            to.Acrescimo = from.Acrescimo;
            to.BaseCalculo.Codigo = from.BaseCalculo.Codigo;
            to.BaseCalculo.Descricao = from.BaseCalculo.Descricao;
            to.BaseCalculo.TipoBaseCalculo = Sinacor.Infra.Service.Common.EnumConverter.Parse<DataContract.Enum.TipoBaseCalculo>(Sinacor.Infra.Service.Common.EnumConverter.ToString<BusinessEntity.Enum.TipoBaseCalculo>(from.BaseCalculo.TipoBaseCalculo));
            
            return to;
        }



    }
}

